package com.zp.system.service;

import com.zp.common.myBatis.core.page.PageQuery;
import com.zp.common.myBatis.core.page.TableDataInfo;
import com.zp.system.entity.bo.SysChooseRoleGroupBo;
import com.zp.system.entity.vo.SysChooseRoleGroupVo;

import java.util.Collection;
import java.util.List;

/**
 * 角色与已选择自定义服务对照Service接口
 *
 * @author zhang peng
 * @date 2022-12-14
 */
public interface ISysChooseRoleGroupService {

    /**
     * 查询角色与已选择自定义服务对照
     */
    SysChooseRoleGroupVo queryById (String roleId);

    /**
     * 查询角色与已选择自定义服务对照列表
     */
    TableDataInfo<SysChooseRoleGroupVo> queryPageList (SysChooseRoleGroupBo bo, PageQuery pageQuery);

    /**
     * 查询角色与已选择自定义服务对照列表
     */
    List<SysChooseRoleGroupVo> queryList (SysChooseRoleGroupBo bo);

    /**
     * 新增角色与已选择自定义服务对照
     */
    Boolean insertByBo (SysChooseRoleGroupBo bo);

    /**
     * 修改角色与已选择自定义服务对照
     */
    Boolean updateByBo (SysChooseRoleGroupBo bo);

    /**
     * 校验并批量删除角色与已选择自定义服务对照信息
     */
    Boolean deleteWithValidByIds (Collection<String> ids, Boolean isValid);

    /**
     * 批量新增角色与已选择自定义服务对照
     *
     * @param bo 角色与已选择自定义服务对照业务对象
     * @return
     */
    Boolean saveBatch (SysChooseRoleGroupBo bo);

    /**
     * 删除已选择服务
     *
     * @param bo
     * @return
     */
    int delChooseRoleGroup (SysChooseRoleGroupBo bo);
}
